import numpy as np
arr = np.array([[110,120,90,80],[89,95,77,92],[60,79,96,80]])
print('3*4的数组:\n',arr)
print('第3行和第1行的元素:\n',arr[[2,0]])
print('第3行第2列和第1行第1列的元素',arr[[2,0],[1,0]])
print('大于80且小于等于100的所有元素:',arr[(arr>80)&(arr<=100)])
print('小于等于80的所有元素:',arr[arr<=80])


import numpy as np
arr1 = np.array([[11,13,18],[45,46,78],[15,87,33]])
print('3*3的数组:\n',arr1)
print('设置矩阵类型为int32并输出:\n',arr1.astype('int32'))
print('查看数组的各种属性，如表2-2四种属性：\n',arr1.ndim)
print('查看数组的各种属性，如表2-2四种属性：\n',arr1.shape)
print('查看数组的各种属性，如表2-2四种属性：\n',arr1.size)
print('查看数组的各种属性，如表2-2四种属性：\n',arr1.dtype)
print('第2行，第3列的元素:\n',arr1[[1,2]])
print('第2行，列步长为2的元素:\n',arr1[1,::2])
print('第1~2行，第2~3列的元素:\n',arr1[0:2,1:3])
print('第1行第2列，第2行第3列的元素:\n',arr1[[0,1],[1,2]])
print('大于30小于80的元素:\n',arr1[(arr>30)&(arr<80)])


import numpy as np
arr2 = np.arrayy([[10,20,30],[40,50,60]])
print('2*3的数组arr2:\n',arr2)
arr3 = np.array([[1,2,2],[2,2,3]])
print('2*3的数组arr3：、n',arr3)
print('arr2与arr3的加法运算:\n',arr2 + arr3)
print('arr2与arr3的减法运算:\n',arr2 - arr3)
print('arr2与arr3的乘法运算:\n',arr2 * arr3)
print('arr2与arr3的除法运算:\n',arr2 / arr3)
print('arr2与arr3的幂运算:\n',arr2 ** arr3)


arr4 = np.array([[10,20,30],[40,50,60]])
arr5 = np.array([1,2,3])
print('arr4与arr5相加:\n',arr4+arr5)
arr6 = np.array([[1],[2]])
print('arr4与arr6相加:\n',arr4+arr6)
arr7 = np.array(5)
print('arr4与arr7相加:\n',arr4+arr7)

import numpy as np
arr8 = np.random.randint(1,100,size=(3,4))
print('3*4的原数组:\n',arr)
print('转置后4*3的数组:\n',arr.T)
print('变形后2*6的数组:\n',arr.reshape(2,6))